package com.acsior.hibernate.vo;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import com.acsior.dac.impl.hibernate.vo.GeneratorKey;

/**
 * OrderPensionService entity. @author MyEclipse Persistence Tools <b><i>powered
 * by Belev</i></b>
 */
@Entity
@Table(name = "order_pension_services")
@GeneratorKey(tableName = "service_requests")
public class OrderPensionServiceVO extends OrderServiceVO {

	private static final long serialVersionUID = 3372823085290724980L;

	@Temporal(TemporalType.DATE)
	@Column(name = "date_from", nullable = false, length = 10)
	private Date dateFrom;

	@Temporal(TemporalType.DATE)
	@Column(name = "date_to", nullable = false, length = 10)
	private Date dateTo;

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "noi_bank_account_from_id", nullable = false)
	private NoiBankAccountVO noiBankAccountFrom;

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "noi_bank_account_to_id", nullable = false)
	private NoiBankAccountVO noiBankAccountTo;

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "nom_order_pension_type_id", nullable = false)
	private NomOrderPensionTypeVO nomOrderPensionType;

	@Column(name = "old_man_number", nullable = false, length = 20)
	private String oldManNumber;

	@Temporal(TemporalType.DATE)
	@Column(name = "payroll_date", nullable = false, length = 10)
	private Date payrollDate;

	@Column(name = "payroll_number", nullable = false, length = 50)
	private String payrollNumber;

	@Column(name = "payroll_serial", nullable = false)
	private Integer payrollSerial;

	@Column(name = "pension_number_code", nullable = false)
	private short pensionNumberCode;

	/** default constructor */
	public OrderPensionServiceVO() {
		super();
	}

	/** @return the dateFrom */
	public Date getDateFrom() {
		return this.dateFrom;
	}

	/** @return the dateTo */
	public Date getDateTo() {
		return this.dateTo;
	}

	/** @return the noiBankAccountFrom */
	public NoiBankAccountVO getNoiBankAccountFrom() {
		return this.noiBankAccountFrom;
	}

	/** @return the noiBankAccountTo */
	public NoiBankAccountVO getNoiBankAccountTo() {
		return this.noiBankAccountTo;
	}

	/** @return the nomOrderPensionType */
	public NomOrderPensionTypeVO getNomOrderPensionType() {
		return this.nomOrderPensionType;
	}

	/** @return the oldManNumber */
	public String getOldManNumber() {
		return this.oldManNumber;
	}

	/** @return the payrollDate */
	public Date getPayrollDate() {
		return this.payrollDate;
	}

	/** @return the payrollNumber */
	public String getPayrollNumber() {
		return this.payrollNumber;
	}

	/** @return the payrollSerial */
	public Integer getPayrollSerial() {
		return this.payrollSerial;
	}

	/** @return the pensionNumberCode */
	public short getPensionNumberCode() {
		return this.pensionNumberCode;
	}

	/** @param dateFrom */
	public void setDateFrom(Date dateFrom) {
		this.dateFrom = dateFrom;
	}

	/** @param dateTo */
	public void setDateTo(Date dateTo) {
		this.dateTo = dateTo;
	}

	/** @param noiBankAccountFrom */
	public void setNoiBankAccountFrom(NoiBankAccountVO noiBankAccountFrom) {
		this.noiBankAccountFrom = noiBankAccountFrom;
	}

	/** @param noiBankAccountTo */
	public void setNoiBankAccountTo(NoiBankAccountVO noiBankAccountTo) {
		this.noiBankAccountTo = noiBankAccountTo;
	}

	/** @param nomOrderPensionType */
	public void setNomOrderPensionType(NomOrderPensionTypeVO nomOrderPensionType) {
		this.nomOrderPensionType = nomOrderPensionType;
	}

	/** @param oldManNumber */
	public void setOldManNumber(String oldManNumber) {
		this.oldManNumber = oldManNumber;
	}

	/** @param payrollDate */
	public void setPayrollDate(Date payrollDate) {
		this.payrollDate = payrollDate;
	}

	/** @param payrollNumber */
	public void setPayrollNumber(String payrollNumber) {
		this.payrollNumber = payrollNumber;
	}

	/** @param payrollSerial */
	public void setPayrollSerial(Integer payrollSerial) {
		this.payrollSerial = payrollSerial;
	}

	/** @param pensionNumberCode */
	public void setPensionNumberCode(short pensionNumberCode) {
		this.pensionNumberCode = pensionNumberCode;
	}
}